package artifactory

import (
	"time"
)

type TArtifactFile struct {
	Id          int64     `xorm:"pk autoincr comment('自增ID') BIGINT(20)" json:"id"`
	SnapshotId  int64     `xorm:"not null comment('制品版本ID') BIGINT(20)" json:"snapshotId"`
	Filename    string    `xorm:"comment('文件名') VARCHAR(255)" json:"filename"`
	MimeType    string    `xorm:"comment('文件类型，暂定设计为MIME类型') VARCHAR(255)" json:"mimeType"`
	Size        int64     `xorm:"not null default 0 comment('文件占用存储大小') BIGINT(20)" json:"size"`
	Sha         string    `xorm:"comment('文件哈希') VARCHAR(100)" json:"sha"`
	Storage     string    `xorm:"comment('文件存储位置') TEXT" json:"storage"`
	Description string    `xorm:"comment('文件描述') VARCHAR(255)" json:"description"`
	CreateTime  time.Time `xorm:"not null comment('创建时间') DATETIME" json:"createTime"`
	UpdateTime  time.Time `xorm:"comment('更新时间') DATETIME" json:"updateTime"`
	DeleteTime  time.Time `xorm:"comment('软删除字段') DATETIME" json:"deleteTime"`
	SourceId    string    `xorm:"comment('来源为流水线时，关联对应构建ID。来源为API和WEB时为空') VARCHAR(64)" json:"sourceId"`
	Deleted     int       `xorm:"default 0 TINYINT(1)" json:"deleted"`
}
